/**
 * 快递属性配置类
 * 用于配置快递查询服务的相关属性
 */
package co.yixiang.modules.tools.express.config;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * ExpressProperties 类提供了一些基本的属性配置方法
 * 包括是否启用快递查询服务、应用ID、应用密钥以及快递供应商的配置
 */
public class ExpressProperties {
    // 是否启用快递查询服务
    private boolean enable;
    // 应用ID
    private String appId;
    // 应用密钥
    private String appKey;
    // 快递供应商列表，每个供应商的信息存储为一个Map
    private List<Map<String, String>> vendors = new ArrayList<>();

    /**
     * 获取是否启用快递查询服务的状态
     *
     * @return boolean 表示快递查询服务是否已启用
     */
    public boolean isEnable() {
        return enable;
    }

    /**
     * 设置是否启用快递查询服务的状态
     *
     * @param enable 一个boolean值，用于设置快递查询服务是否启用
     */
    public void setEnable(boolean enable) {
        this.enable = enable;
    }

    /**
     * 获取快递供应商列表
     *
     * @return List<Map<String, String>> 包含所有配置的快递供应商信息的列表
     */
    public List<Map<String, String>> getVendors() {
        return vendors;
    }

    /**
     * 设置快递供应商列表
     *
     * @param vendors 一个包含快递供应商信息的Map列表，用于设置快递供应商
     */
    public void setVendors(List<Map<String, String>> vendors) {
        this.vendors = vendors;
    }

    /**
     * 获取应用密钥
     *
     * @return String 表示应用密钥的字符串
     */
    public String getAppKey() {
        return appKey;
    }

    /**
     * 设置应用密钥
     *
     * @param appKey 一个字符串，用于设置应用密钥
     */
    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    /**
     * 获取应用ID
     *
     * @return String 表示应用ID的字符串
     */
    public String getAppId() {
        return appId;
    }

    /**
     * 设置应用ID
     *
     * @param appId 一个字符串，用于设置应用ID
     */
    public void setAppId(String appId) {
        this.appId = appId;
    }
}
